package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.common.core.domain.entity.SysAeration;

/**
 * 增氧机表 数据层
 *
 * @author xiongdong
 */
public interface SysAerationMapper
{
    /**
     * 根据条件分页查询增氧机数据
     *
     * @param sysAeration 增氧机信息
     * @return 增氧机数据集合信息
     */
    public List<SysAeration> selectAerationList(SysAeration sysAeration);

    /**
     * 根据用户ID查询增氧机
     *
     * @param userId 用户ID
     * @return 增氧机列表
     */
    public List<SysAeration> selectAerationPermissionByUserId(Long userId);

    /**
     * 查询所有增氧机
     *
     * @return 增氧机列表
     */
    public List<SysAeration> selectAerationAll();

    /**
     * 根据用户ID获取增氧机选择框列表
     *
     * @param userId 用户ID
     * @return 选中增氧机ID列表
     */
    public List<Long> selectAerationListByUserId(Long userId);

    /**
     * 通过增氧机ID查询增氧机
     *
     * @param aerId 增氧机ID
     * @return 增氧机对象信息
     */
    public SysAeration selectAerationById(Long aerId);

    /**
     * 根据用户ID查询增氧机
     *
     * @param userName 用户名
     * @return 增氧机列表
     */
    public List<SysAeration> selectAerationsByUserName(String userName);

    /**
     * 校验增氧机名称是否唯一
     *
     * @param aerName 增氧机名称
     * @return 增氧机信息
     */
    public SysAeration checkAerationNameUnique(String aerName);

    /**
     * 校验增氧机权限是否唯一
     *
     * @param aerKey 增氧机权限
     * @return 增氧机信息
     */
    public SysAeration checkAerationKeyUnique(String aerKey);

    /**
     * 修改增氧机信息
     *
     * @param sysAeration 增氧机信息
     * @return 结果
     */
    public int updateAeration(SysAeration sysAeration);

    /**
     * 定时任务开修改增氧机信息
     *
     * @param aerId  增氧机id
     * @return 结果
     */
    public int updateAeration1(Long aerId);

    /**
     * 定时任务关修改增氧机信息
     *
     * @param aerId  增氧机id
     * @return 结果
     */
    public int updateAeration2(Long aerId);

    /**
     * 定时任务查询增氧机信息
     *
     * @param aerId  增氧机id
     * @return 结果
     */
    public int selectAerationStatus(Long aerId);

    /**
     * 新增增氧机信息
     *
     * @param sysAeration 增氧机信息
     * @return 结果
     */
    public int insertAeration(SysAeration sysAeration);

    /**
     * 通过增氧机ID删除增氧机
     *
     * @param aerId 增氧机ID
     * @return 结果
     */
    public int deleteAerationById(Long aerId);

    /**
     * 批量删除增氧机信息
     *
     * @param aerIda 需要删除的增氧机ID
     * @return 结果
     */
    public int deleteAerationByIds(Long[] aerIda);
}
